#!/bin/bash
#脚本执行完后，用ssh远程登录测试
#可以先手工备份/etc/fstab和/etc/profile
#1)判断当前账户身份，并关闭防火墙与selinux
selinux_firewalld(){
	[ $UID -ne 0 ] && echo "请使用管理员操作" && exit
	systemctl stop firewalld                 
	systemctl disable firewalld
	setenforce 0
	sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
}
#2）根据不同版本的系统执行各自的任务
conf_history(){
	egrep -q "\s+8\.[0-9]" /etc/redhat-release                    #判断系统版本
	if [ $? -ne 0 ];then
	    sed -ri 's/HISTSIZE=[0-9]+/HISTSIZE=2000/' /etc/profile        
	else
	    sed -ri 's/HISTSIZE=[0-9]+/HISTSIZE=2000/' /etc/profile        #历史命令2000条
	    sed -i '/^export /i HISTTIMEFORMAT="%F %T "' /etc/profile    #历史命令时间戳
	    sed -i '/^export /s/$/ HISTTIMEFORMAT/' /etc/profile        #找到export开头那行，在最后加 HISTTIMEFORMAT，可以在子进程中也显示时间戳
	    swap=$(swapon | awk 'NR!=1{print $1}')                #找到交换分区
	    for i in $swap
	    do
		swapoff $i                                        #循环关闭交换分区
	    done
	    sed -i '/swap/s/^/#/' /etc/fstab                    #关闭交换分区自动挂载
	fi
}
#3)配置阿里云源
conf_yum() {
	curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
	yum clean all
	yum makecache
}
#4)安装基础软件包
install_base() {
	yum install -y vim bash-completion wget epel-release gcc gcc-c++ yum-utils git
}

#5)配置docker源
conf_docker_yum() {
	yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
	yum clean all
	yum makecache
}
#6)最后所有机器设置ssh超时时间与时间同步
ntp(){
	echo "export TMOUT=600"  >> ~/.bash_profile                #定义ssh超时退出时间
	yum -y install chrony
	systemctl enable chronyd
	sed  -ri  '/^(pool|server).*iburst/s/^/#/'   /etc/chrony.conf
	sed  -i  '1i server ntp.aliyun.com iburst'   /etc/chrony.conf
	systemctl restart chronyd
}
#ntp

#7)更新系统到最新
update_os(){
	yum -y upgrade
}
update_os
